головне меню список тем тестування презентації історія створення

 

1.5. Архітектура мікропроцесорних систем

Дотепер ми розглядали тільки один тип архітектури  мікропроцесорних систем - архітектуру із загальною, єдиною шиною для даних і команд (одношинну, або прінстонську, фон-неймановську  архітектуру). Відповідно, у складі системи в цьому випадку присутня одна загальна пам'ять, як для даних, так і для команд (мал. 1.15).



Мал. 1.14. Архітектура із загальною шиною даних і команд.

Але існує також і альтернативний тип архітектури мікропроцесорної системи - це архітектура з роздільними шинами даних і команд (двохшинна, або гарвардська, архітектура). Ця архітектура припускає наявність в системі окремої пам'яті для даних і окремої пам'яті для команд (мал. 1.16). Обмін процесора з кожним з двох типів пам'яті відбувається по своїй шині.
Архітектура із загальною шиною поширена набагато більше, вона застосовується, наприклад, в персональних комп'ютерах і в складних мікрокомп'ютерах. Архітектура з роздільними шинами застосовується в основному в однокристальних мікроконтролерах.

Розглянемо деякі достоїнства і недоліки обох архітектурних рішень.
Архітектура із загальною шиною (прінстонська, фон-неймановська) простіша, вона не вимагає від процесора одночасного обслуговування двох шин, контролю обміну по двох шинах відразу. Наявність єдиної пам'яті даних і команд дозволяє гнучко розподіляти її об'єм між кодами даних і команд. Наприклад, в деяких випадках потрібна велика і складна програма, а даних в пам'яті треба зберігати дуже не багато. В інших випадках, навпаки, програма потрібна проста, але необхідні великі об'єми бережених даних. Перерозподіл пам'яті не викликає жодних проблем, головне - щоб програма і дані разом поміщалися в пам'яті системи. Як правило, в системах з такою архітектурою пам'ять буває досить великого об'єму (до десятків і сотень мегабайт). Це дозволяє вирішувати найскладніші задачі.

 


Мал. 1.15. Архітектура з роздільними шинами даних і команд.

Архітектура з роздільними шинами даних і команд складніша, вона примушує процесор працювати одночасно з двома потоками кодів, обслуговувати обмін по двох шинах одночасно. Програма може розміщуватися тільки в пам'яті команд, дані - тільки в пам'яті даних. Така вузька спеціалізація обмежує круг задач, вирішуваних системою, оскільки не дає можливості гнучкого перерозподілу пам'яті. Пам'ять даних і пам'ять команд в цьому випадку мають не дуже великий об'єм, тому використання систем з даною архітектурою обмежується звичайно не дуже складними задачами.
В чому ж перевага архітектури з двома шинами (гарвардської)? В першу чергу, в швидкодії.
Річ у тому, що при єдиній шині команд і даних процесор вимушений по одній цій шині приймати дані (з пам'яті або пристрою вводу/виводу) і передавати дані (в пам'ять або в пристрій вводу/виводу), а також читати команди з пам'яті. Природно, одночасно ці пересилки кодів по магістралі відбуватися не можуть, вони повинні проводитися по черзі. Сучасні процесори здатні сумістити в часі виконання команд і проведення циклів обміну по системній шині. Використовування конвейєрних технологій і швидкої кеш-пам'яті дозволяє їм прискорити процес взаємодії з порівняно повільною системною пам'яттю. Підвищення тактової частоти і вдосконалення структури процесорів дають можливість скоротити час виконання команд. Але подальше збільшення швидкодії системи можливе тільки при поєднанні пересилки даних і читання команд, тобто при переході до архітектури з двома шинами.
У разі двохшинної архітектури обмін по обох шинах може бути незалежним, паралельним в часі. Відповідно, структури шин (кількість розрядів коду адреси і коду даних, порядок і швидкість обміну інформацією і т.д.) можуть бути вибрані оптимально для тієї задачі, яка розв'язується кожною шиною. Тому за інших рівних умов перехід на двохшинну архітектуру прискорює роботу мікропроцесорної системи, хоча і вимагає додаткових витрат на апаратуру, ускладнення структури процесора. Пам'ять даних в цьому випадку має свій розподіл адрес, а пам'ять команд - своє.
Простіше за все переваги двохшинної архітектури реалізуються усередині однієї мікросхеми. В цьому випадку можна також істотно зменшити вплив недоліків цієї архітектури. Тому основне її використання - в мікроконтролерах, від яких не вимагається рішення дуже складних задач, але необхідна максимальна швидкодія при заданій тактовій частоті.

 

 

попередня тема наступна тема